/**
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.common.components</code> contiene las clases
 * que representan a controles de GUI.
 */
package edu.uoc.tds.pec4.common.components;

import java.util.ArrayList;
import java.util.List; 
import javax.swing.table.AbstractTableModel;

/**
 * La clase <code>TableModelUI</code> implementa un objeto AbstractTableModel 
 * para montar posteriormente JTable.
 *
 * @author	Luis Rodríguez-Manzaneque Sánchez
 * @version	22/11/2011
 * @since	1.00
 */
public class TableModelUI extends AbstractTableModel {

    protected List<String> vCabecera = new ArrayList<String>();
    protected List<List> vFilas = new ArrayList<List>();

    public TableModelUI(List<String> cabeceras, List<List> vVv) {
        setCabecera(cabeceras);
        setCapacidad(vVv);
    }

    private void setCabecera(List<String> cabeceras) {
        vCabecera = cabeceras;
    }

    private void setCapacidad(List<List> vVv) {
        try {

            vFilas = vVv;
        } catch (Exception e) {
        }
    }

    public int getRowCount() {
        return ((vFilas.get(0)).size());
    }

    public int getColumnCount() {
        return (vFilas.size());
    }

    @Override
    public String getColumnName(int col) {
        return ((String) vCabecera.get(col));
    }

    public boolean getScrollableTrackViewportHeight() {
        return (true);
    }

    public boolean getScrollableTrackViewportWidth() {
        return (true);
    }

    public Object getValueAt(int fila, int col) {
        return ((vFilas.get(col)).get(fila));
    }

    @Override
    public boolean isCellEditable(int fila, int columna) {
        return (false);
    }
}
